<header>
    UI组件的二次封装
</header>
<p>
    比如我们要开发一个组件，基于ui-input组件进行改造，大部分功能还是保持ui-input原有的。
</p>
<h2>
    属性和事件
</h2>
<pre tag="html">
<ui-input v-bind="$attrs"></ui-input>
</pre>
<h2>
    插槽
</h2>
<pre tag="html">
<ui-input>
    <template v-for="(_,name) in $slots" #[name]="scopedData">
        <slot :name="name" v-bind="scopedData"></slot>
    </template>
</ui-input>
</pre>
<h2>
    ref
</h2>
<pre tag="javascript">
export default {
    mounted(){
        for(const key in this.$refs.uiInput){
            this[key] = this.$refs.uiInput[key];
        }
    }
}
</pre>